package DAO;

import AccesoBD.AccesoBaseDatos;
import Dominio.AsignaturaOptativa;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;


public class DAOOptativas {
    private final String TABLA_OPTATIVAS = "optativas";
    private final String COLUMNA_ID = "id";
    private final String COLUMNA_CLAVE_ASIGNATURA = "cveAsignatura";
    private final String COLUMNA_CLAVE_AREA_CONCENTRACION = "cveAreaConcentracion";
    private final String COLUMNA_CLAVE_PE = "cveProgramaEducativo"; 
    private AccesoBaseDatos acceso = new AccesoBaseDatos();
    private Connection conexion = null;

    public DAOOptativas() {
        this.conexion = acceso.abrirConexion();
    }
    
    public int obtenerClaveOptativa(int claveAsignatura) {
        
        int claveOptativa = -1;
        
        try {            
            
            Statement sentencia = acceso.crearSentenciaBD(conexion);
            String queryBusqueda = "SELECT "+COLUMNA_ID+" FROM "+TABLA_OPTATIVAS+" "
                    + "WHERE "+COLUMNA_CLAVE_ASIGNATURA+" = '"+claveAsignatura+"';";
            ResultSet resultado = sentencia.executeQuery(queryBusqueda);
            
            while(resultado.next()) {
                claveOptativa = resultado.getInt(1);
            }                                
        } catch (SQLException ex) {
            Logger.getLogger(DAOOptativas.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return claveOptativa;
    }        
    
     public void cerrarConexion() {
        acceso.cerrarConexion(conexion);
    }
     
     public int obtenerClaveAsignaturaOptativa(int claveAsignatura, int claveProgramaEducativo) {
        int claveAsignaturaOptativa = -1;
        
        try {
            Statement sentencia = acceso.crearSentenciaBD(conexion);
            String query = "SELECT "+COLUMNA_ID+" FROM "+TABLA_OPTATIVAS+" WHERE "+COLUMNA_CLAVE_ASIGNATURA+" = '"+claveAsignatura+"' AND "+COLUMNA_CLAVE_PE+" = '"+claveProgramaEducativo+"';";
            ResultSet resultado = sentencia.executeQuery(query);
            
            while(resultado.next()) {
                claveAsignaturaOptativa = resultado.getInt(1);
            }
        } catch (SQLException ex) {
            Logger.getLogger(DAOAsignaturaOptativa.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        return claveAsignaturaOptativa;
    }

}
